Method and computer program for providing visual information to a viewer

ABSTRACT

The present invention relates to video transmission systems and provides a method of providing visual information to a viewer, comprising the steps of: (a) receiving at a receiver, a stream of video data transmitted from a video camera; (b) receiving and monitoring the stream at a server connected to the receiver; (c) transmitting the stream from the server to one or more remote viewers over a communications network; and (d) transmitting a snapshot image to one or more remote viewers in response to the detection of a characteristic in the stream. The invention finds application in areas such as the online presentation and sale of goods and services.

FIELD OF THE INVENTION

The present invention relates to video transmission systems. Inparticular, the invention relates to methods and systems for providingstreamed video and snapshot images to a viewer over a communicationsnetwork.

BACKGROUND OF THE INVENTION

The transmission of both prerecorded and live video over communicationsnetworks such as the Internet is known. Live video can be transmittedover the Internet using a low cost digital camera, known as a webcam. Toimprove the quality of the transmitted video, systems are beingdeveloped allowing a conventional video camera such as a camcorder to beused. Also, wireless technology allows a camera operator to roam withthe camera to capture video, that can be wirelessly relayed to a remoteserver for transmission over the Internet. Such solutions have foundapplication in the marketing of goods and services, where vendors areable to transmit live video images of their products along withcommentary to prospective customers over the Internet.

It is also known to transmit snapshot images of particular video framesover the Internet. For example, U.S. Pat. No. 6,172,672 describes asystem for delivering video from a server to a client over a limitedbandwidth communications medium. A snapshot feature allows the client toselect a button on their user interface to request snapshot image. Inresponse to the selection a message is transmitted to the server thatidentifies the particular frame that was displayed at the client whenthe button was selected. The server then locates the particular frameidentified in the message and transmits it to the client. The snapshotimage may be of better quality than the original video frame, becausetransmission of the video is suspended whilst the snapshot istransmitted to take account of the limited bandwidth.

There will be an elapse of time between when the client decides torequest a snapshot, the physical act of pressing the button and therecognition of that event by a processor. Although the period of theelapse may be small, it is still of significance when compared to therate that video frames are refreshed on the client's display.Accordingly, there is a possibility that the snapshot image delivered toa client by the system of U.S. Pat. No. 6,172,672 will not accord withthe client's expectations. This problem would be particularly apparentif the system of U.S. Pat. No. 6,172,672 was adapted to transmit livevideo images of goods or services to a prospective customer. If thecustomer did not receive a snapshot of a dose up image of the productwhen expected the chances of making a sale decrease. Problems could alsoarise if the system was used in a medical context.

It would therefore be advantageous to improve video transmission systemsthat deliver both streamed video and snapshot images over acommunications network.

In this specification, where a document, act or item of knowledge isreferred to or discussed, this reference or discussion is not anadmission that the document, act or item of knowledge or any combinationthereof was at the priority date:

-   (i) part of common general knowledge; or-   (ii) known to be relevant to an attempt to solve any problem with    which this specification is concerned.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention there is provided amethod of providing visual information to a viewer, comprising the stepsof:

-   -   (a) receiving at a receiver a stream of video data transmitted        from a video camera;    -   (b) receiving and monitoring the stream at a server connected to        the receiver;    -   (c) transmitting the stream from the server to one or more        remote viewers over a communications network; and    -   (d) transmitting a snapshot image to one or more remote viewers        in response to the detection of a characteristic in the stream.

The present invention differs from and provides advantages over thesystem described above by transmitting a snapshot in response to thedetection of a characteristic in the stream rather than in response to arequest received through the communications network from a viewer. Thusthe present invention allows for the partial automation of the snapshottransmission process.

In this specification, including the claims, the term “characteristic”refers to any information derivable from the data stream transmitted bythe video camera to the receiver. For example, the characteristic may bea signal indicating that a snapshot request has been initiated at thevideo camera, such as by activating a button on the camera.

Alternatively the characteristic may be an attribute of the visualcontent of the stream such as the repetition of a of a substantiallystatic image in the stream. A repeated static image may be the result ofthe camera operator pointing the camera at a particular object for anextended period of time. Thus the invention allows the operator toautomatically emphasise an aspect of the video content by providing asnapshot image to viewers.

Typically the static image is detected by comparing a frame to aplurality of other frames in the stream wherein the substantially staticimage is detected when the frame is similar to each of the other frames.Preferably the frame was captured by the video camera after each of theother frames.

The method may further include the steps of:

-   -   (e) including the frame in the plurality of other frames after        it has been compared to the plurality of other frames; and    -   (f) removing a frame from the plurality of other frames.

Preferably, the frame removed from the plurality of other frames is theearliest frame captured by the video camera.

The frame may be similar to another frame notwithstanding differencesbetween the frames, where those differences are within a prescribeddifference tolerance.

Advantageously, the snapshot image transmitted to the viewer is anaverage frame calculated from the frame and each of the other frames.

The method may further include the steps of:

-   -   (g) comparing the frame to the most recently transmitted        snapshot image; and    -   (h) transmitting a further snapshot image only when the frame        and the most recently transmitted snapshot image are        sufficiently different.

The snapshot images may be stored at a client device of the viewer forretrieval and viewing, and may be of a higher resolution than the framesin the stream.

According to a second aspect of the present invention there is providedcomputer program code comprising:

-   -   (a) instructions for receiving a stream of video data;    -   (b) instructions for transmitting the stream to one or more        remote viewers over a communications network;    -   (c) instructions for monitoring the stream; and    -   (d) instructions for transmitting a snapshot image to one or        more remote viewers in response to the detection of a        characteristic in the stream.

The characteristic may be a signal indicating that a snapshot requesthas been initiated at the video camera. Preferably, the initiation is byactivation of a button on the video camera.

Alternatively, the characteristic may be an attribute of the visualcontent of the stream.

Typically, the attribute is the repetition of a substantially staticimage.

The computer program code may further include instructions for detectingthe substantially static image by comparing a frame to a plurality ofother frames in the stream, wherein the substantially static image isdetected when the first frame is similar to each of the other frames.Typically, the frame was captured by the video camera after each of theother frames.

The computer program code according may further include:

-   -   (e) instructions for including the first frame in the plurality        of other frames after it has been compared to the plurality of        other frames; and    -   (f) instructions for removing a frame from the plurality of        other frames.

The frame removed from the plurality of other frames is usually theearliest frame captured by the video camera.

Advantageously, the computer program code further includes instructionsfor determining that the frame is similar to another framenotwithstanding differences between the frames where those differencesare within a prescribed difference tolerance.

The computer program code may further include instructions fortransmitting an average frame calculated from the frame and each of theother frames to the viewer as the snapshot image.

The computer program code may further include instructions for storingeach transmitted snapshot image at a client device of the viewer forretrieval and viewing.

The computer program code may further include instructions for providinga snapshot image having a resolution higher than the resolution of theframes in the stream.

BRIEF DESCRIPTION OF THE DRAWINGS

A preferred embodiment of the invention will now be described withreference to the accompanying drawings wherein:

FIG. 1 is a schematic diagram illustrating the server and viewercommunication via the Internet;

FIG. 2 is a schematic diagram of the components of the server;

FIG. 3 is a flow chart illustrating the high level steps of the methodof the present invention;

FIG. 4A is a flow chart illustrating the steps of the method carried outin detecting a snapshot request initiated at the camera.

FIG. 4B is a flow chart illustrating the steps of the static imagedetection algorithm of the present invention;

FIG. 5 is an illustration of the cyclic image buffer used to deliversnap shot images to a viewer; and

FIG. 6 is an illustration of a viewer interface for the received visualinformation.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

Turning to FIG. 1, a video camera such as a camcorder 10 can be operatedto capture a stream of video in a conventional manner. Connected to thecamcorder 10, for example through the accessory shoe, is a transmitter12 that receives the video stream from the camcorder 10 and wirelesslytransmits it to a receiver 14. Wireless transmission between thetransmitter and receiver may be achieved through any convenient wirelessprotocol including Radio Frequency, Bluetooth™ or a wireless LANprotocol such as 802.11. A server 16, connected to the receiver 14, runsa web server program 19 which allows video from the receiver 14 to beviewed over the Internet 18 by a plurality of viewers, who access thevideo through a client device 20A-20D such as a personal computer. Theserver 16 may be any suitable hardware and software combination asunderstood by those skilled in the art. The client devices 20A-20D run abrowser program, such as Microsoft Internet Explorer, that allows thevideo to be streamed from the server 16 to the client device and viewedon the client device through a web page 62 accessible to the clientdevices 20A-20D. The details of web based client-server communicationsand protocols are not essential to an understanding of the presentinvention and will not be further elaborated here.

Turning to FIG. 2 of the components of the server 16 of the presentinvention are described in further detail. The server 16 includes aprocessor 22 for executing the instructions of a computer program 23stored in a Random Access Memory “RAM” 24 connected to the processor 22via a bus 27. An operating system 25 is also stored in the RAM 24 in aconventional manner.

The computer program 23 includes instructions which when executed by theprocessor control a wireless receiver card 14, and a video capturedevice 26 that are also connected (directly or indirectly) to theprocessor 22. The wireless receiver card 14 receives electromagneticsignals from the transmitter 12 over which the stream of video data fromthe camcorder is modulated. In a conventional manner, the stream ofvideo data includes encoded visual content and other information used,inter alia, to control the display of the visual content on a displaydevice such as a computer monitor. As the stream of video data from thecamcorder may be in analogue form, the video capture device 26 is usedto digitize the visual content of the video data into a plurality ofpixellated frames and to extract any other information carried by thestream of video data.

The computer program 23 also includes instructions which when executedby the processor 22, control an area of memory 30 (primary and/orsecondary memory) for storing the most recently transmitted snapshotimage. This aspect of the invention is considered in more detail below.

The computer program 23 also includes instructions which when executedby the processor 22, monitor the stream of video data and detectcharacteristics in the stream which trigger the transmission of snapshotimages to one or more remote viewers connected to the server 16 via theweb server program 19. As will be described in further detail below thecharacteristic may be a signal in the stream of video data. For example,the signal could be an indication that a snapshot request has beeninitiated at the video camera, or that the temperature or humiditysurrounding the camera has exceeded a certain value. The signal couldalso be a timing signal to forward snapshots at periodic intervals.

Alternatively the characteristic may be an attribute of the visualcontent of the stream of video data. In the preferred embodiment, thecharacteristic is the repetition of a substantially static image in thestream, however the computer program 23 could also detect otherattributes of the visual content of the stream. For example the computerprogram could be adapted to detect when a face enters a frame, so that asnapshot is triggered to save the faces of all people entering abuilding. Additionally the computer program could be adapted to detectcertain intensities of light, so that snapshots are taken inside a roombefore the lights are switched off. Similarly, the transmission ofsnapshots could be triggered when certain colours are detected

The computer program 23 also utilises an area of memory (preferablyprimary) to implement a cyclic image buffer 28 when monitoring thestream of video data to detect the repetition of a substantially staticimage. The size of the cyclic image buffer 28 may be varied by the userof the system to store a predetermined number of frames outputed by thevideo capture device 26. As is described in further detail below, thecyclic image buffer is used to detect the repetition of a static imagein the video stream, by comparing a frame to each frame stored in thecyclic image buffer 28. It will be realised that the size of the cyclicimage buffer 23 will necessarily effect the frequency of static imagerepetition, in that the chance of a static image being repeatedgenerally decreases as the length of the monitored video streamincreases. Of course the expected frequency of static image detectioncan be varied by adjusting the size of the cyclic image buffer (andconsequently the length of the video stream) to suit differentapplications of the invention.

A high level view of the steps of the method carried out by theinstruction of the computer program 24 when executed by the processor 22is given by reference to FIG. 3. At step (31) a stream of video data ismonitored. As noted above the stream includes encoded visual contentbeing the optical information from the actual scene captured by thevideo camera and other information used, inter alia, to control thedisplay of the visual content on a display device. This “non content”information may be inserted into the stream of video data by the videocamera and is extracted from the stream in a similar manner to thevisual content by the video capture device. When a characteristic isdetected in the stream at step (32) snapshot image is transmitted overthe Internet by the web server 18 to the remote viewers at step (34).

Turning to FIG. 4A, at step (31) the computer program 23 monitors theoutput from the video capture device in the manner described above. Whenthe output is visual content, control passes to step (40), which isdescribed in further detail below with reference to FIG. 4B. When theoutput is not visual content, at step (33) a determination is made ofwhether the output is a signal indicating that a snapshot request hasbeen initiated at the video camera. In the event that a snapshot hasbeen requested it is transmitted to the viewer in the manner describedbelow (32).

Turning now to FIG. 4B a frame (“the current image”) is received fromthe video capture device and copied into the end of the cyclic imagebuffer. At step (42) the current image is compared with the imageadjacent to the current image in the cyclic image buffer. The cyclicimage buffer receives images from the video capture device that arechronologically ordered, so the adjacent image will have been capturedby the camcorder before the current image.

The nature of the visual content captured by the camcorder is such thatit is unlikely for two adjacent frames to be exactly the same in everyrespect, even if there is a static image captured in both the frames.Consequently the comparison between the current image and a comparedimage allows for differences within a prescribed tolerance thresholdwhen determining if the images are the same. Where the differencesbetween the current image and the compared image are greater than thethreshold the processing returns to step (40) with a new image from thevideo capture device copied to the end of a cyclic image buffer becomingthe current image, and the image at the front of the cyclic image buffer(being the oldest image) being removed from the cyclic image buffer.

Where the difference between the images is within the threshold, afurther test is performed at step (46) of whether the compared image isthe last image (ie. oldest image) in the cyclic image buffer. If theimage is not the last image processing returns to step (42), with thecurrent image being compared against the next oldest image in the cyclicimage buffer. Alternatively, where the compared image is the last imagein the cyclic image buffer processing moves to step (48) where thecurrent image is compared with the most recent image sent to a viewer asa snapshot.

It will be realised that the current image must be within the acceptabledifference threshold of each image in the cyclic image buffer before thesnapshot transmission function will be triggered. In practice thisresults in a static image (ie. an image that is repeated over each framein the cyclic image buffer) being transmitted to a viewer.

At step (50) a test is performed of whether the current image and mostrecently transmitted snapshot are sufficiently different. If the imagesare not sufficiently different a snapshot will not be sent to a viewer,as the viewer will already have a similar snapshot image. This allowsfor more efficient use of bandwidth between the server and the viewer.

Alternatively, if the current image and the previously sent image aresufficiently different, at step (52) an average of each image in thecyclic image buffer is taken. Averaging the images can result in animproved signal to noise ratio of the snapshot image transmitted to theviewer. In particular the signal to noise ratio should increase by thesquare root of the number of images in the cyclic image buffer.

At step (54) the average image is transmitted to the viewers as thesnapshot image. Finally at step (56) the average image is stored in thestatic image storage as the most recently sent static image forcomparison against later snapshot candidates.

Turning to FIG. 5 it will be realised that the cyclic image buffer 28behaves as a first-in-first-out (FIFO) queue. with a current image 29“moving along” the queue as new frames enter the end of the queue fromthe video capture device 26, and frames at the front of the queue arediscarded. This allows for continuous monitoring of the video stream fora particular characteristic. Additionally, the images in the cyclicimage buffer are stored with the same resolution that was captured bythe video camera. In contrast, the video stream transmitted to theviewer over the Internet can be stored at a reduced resolution tomaximise bandwidth usage. As images leave the cyclic image buffer theymay have their resolution reduced for compression and transmission overthe Internet.

Turning to FIG. 6, a user interface 62 that is displayed on a clientdevice 20 is illustrated. The viewer interface include a streamed videoarea 64 where the video from the camcorder is broadcast to the viewer ina conventional manner. Additionally, the user interface includessnapshot region 66 where the high resolution snapshots are received. Inthe embodiment of the invention just described the snapshot region 66 isupdated with a new snapshot upon detection by the server of acharacteristic in the video stream. When a new snapshot is received theolder snapshot may be retained on the user interface 62 as a thumbnailsketch 68. Thumbnail sketches may also be numbered so that they may beeasily retrieved by a viewer, for example, in responding to instructiongiven in the video streaming area 64.

The preferred embodiment of the invention as just described enables awide range of commercial and non-commercial interactions. It can beprovided as a hardware and software package that converts a camcorderinto a wireless webcasting system.

In this form the invention allows real-time, virtual meetings betweenthe vendor and its customers. Vendors can talk on the phone to customerswhile using a video camera to take video footage, which is immediatelyvisible to the customer via the vendors' website.

The wireless technology allows difficult camera placements and unusualcamera angles, so just about any view of the subject, product or eventcan be easily seen and in intense detail (using the snapshot functionwhich enables the vendor and the viewer to capture high resolutionstills at the click of a button).

Use of the invention overcomes the barriers of remoteness by allowingproducts to be presented live and online, reducing travelling costs,increasing productivity and improving market reach.

A snapshot image is used to allow the viewer to gain a clear, detailedimage, accurate enough to allow for consultation, or purchasedecision-making. Taking a snapshot also allows the user and viewer/s toemphasis a particular feature of interest. Snapshots may be numbered toallow easy reference.

The invention allows the most natural remote communication process.Using traditional fixed or mobile phone lines for audio communicationmeans there are no, or minimal delays, which is important as researchshows that more than ¼ second delay causes significant interference withthe communication process.

The wireless technology allows the user to walk around freely withoutbeing tangled in cables, and the camcorder flip-out screen ensures thatthe user and viewer seeing the same subject matter. A viewer can requestthe operator of the camera to survey particular objects. Requests can betransmitted in various ways including fixed or mobile telephone, or overthe Internet.

The wide range covered by the invention allows users to transmit imagesfrom a large area of their business, for example, large machinery sheds,livestock sheds, crop fields, paddocks, etc. This allows minimaldisruption to the business (eg. items don't need to be moved to beviewed) and allows the user to seek specialist advice while keepinginfected crops or livestock separated from ‘clean’ produce.

The snapshot functionality mimics the natural communication action ofemphasis or pointing. As both the user and the viewer have the abilityto trigger a snapshot which can be viewed by all involved in thesession, this serves to allow all parties involved in the session to usea snapshot to ‘point’ to particular views of a product, which clearlycommunicates what is subject of discussion.

All users can also view ‘session’ thumbnails as separate fromindividually requested thumbnails, and these are numbered. This allowsusers to refer to previous subjects eg. “if you compare flower inthumbnail 5 to the one in thumbnail 8, it is much healthier.” Thisallows all viewers to easily compare a number of products or subjects.

The invention can be used for:

Marketing and Selling Goods:

It can be very difficult for producers of perishable products ofvariable quality (eg. fruit, plants, livestock) to sell sign unseen to abuyer, which represents an enormous problem for businesses that areattempting to reach markets outside their local area. Wholesalenurseries, particularly ones with large and varied product rangescontinually face this issue because plant quality varies so much, soquickly. Standard practice is that the wholesaler drives a van of theirlatest products around to all the buyers to display their product (the‘spec truck’), and then the buyers place their orders on the spot. Thisis a very time consuming process, the travel costs are high, plants willoften not look their best due to travel stress, and it requires: a staffmember to be out on the road and not in the nursery.

With the invention, buyers can view the produce from their desks—it'seasier for them, and much easier for the nurseryman. The interactivenature of the invention means that buyers can instruct the vendor toshow them all aspects of the plant (including root system etc.) and theycan use the snapshot feature to gain accurate images of plant colouretc.

Also, by cutting out the previously necessary travel for sales meetings,an online meeting with a client can be held at short notice, greatlyreducing the length of the sales cycle.

Communications with the Export Market:

One of the major barriers recognised for businesses trying to accessexport industries is access to, and communication with export markets,particularly for sellers of livestock and perishable goods such asfruit, vegetables and plants.

For example, a cherry grower in Tasmania exports their goods aroundAustralia, and also overseas. The invention allows the grower to walkaround his orchard, packing room, and transport equipment and not onlyshow the potential buyer his produce, but also how that produce will bestored, packed and transported to the client. The snapshot featureallows the client to inspect the fruit for colour, blemishes, diseasesize. Also, the interactivity of the process allows the client torequest to view particular angles of equipment, trees or fruit.

The invention allows vendors to develop personalised ‘face-to-face’relationships with buyers, and display all aspects of their goods, andthe related production, growing, storage and transport facilities. Suchvisual inspections and transparency of business processes buildsconfidence and understanding between vendors and buyers. The inventiongreatly improves market reach at minimal cost, and in a time-effectivemanner.

Provision of Remote Technical and Mechanical Support Remotely:

Technical downtime represents a substantial expense to large machinerycompanies. For example, the majority of mining industry sites arelocated in remote areas, and due to the high cost of replacement parts,don't carry full replacement parts at all sites. When a technical issueis faced, either the onsite staff would send the failed part back to themanufacturer and request a replacement, or call for onsite assistancefrom a technical specialist. However, this is a costly andtime-consuming process, the available technical specialists are limitedand mechanical downtime can represent tens of thousands of dollars lostrevenue per hour.

The invention will allow onsite staff to use live video to displayequipment operation or damage to mechanical support specialists locatedat other sites, allowing them to quickly identify what action or partsare required to ensure that equipment is back up and running fast tominimise the expense of downtime. The flexibility allowed using awireless solution allows video and snapshots of all angles of ‘hard toreach’ machinery. The live, interactive nature of the invention allowsthe technical specialist to direct the onsite staff to try possiblesolutions, replace parts and generally perform a range oftroubleshooting actions which can provide a solution or allow themechanical support specialist to identify the fastest way repair thesystem and return to normal production levels.

This process saves the company travel costs and minimises downtime, andincreases the productivity of technical support specialists.

Provision of Remote Medical Consultation:

The invention allows medical practitioners who are separated by distanceto make a detailed consultation of a patient, utilising video and highresolution stills to make a diagnosis and agree on a course of action.This is particularly useful due to the demand on specialists who areoften based in metro areas. This allows remote specialist consultationto medical facilities in rural, remote areas around the world.

Provision of Remote Veterinarian Services:

The invention will be used by veterinarians to allow remote consultationand diagnoses, but also instruct and undertake autopsies. Eg. theinvention will be used by a pig veterinarian specialist to instruct aonsite pig farmer to perform an autopsy (which must be performed withinhours after the death) remotely. The pig veterinarian can take and savesnapshots as a record of the autopsy, which can then be used to comparewith future autopsy, and identify patterns, new diseases etc. Thewireless functionality and use of a camcorder allows a flexible range ofcamera angles, and allows the user to perform the initial diagnoses andautopsy at the site of death, to avoid possible infection of otheranimals.

Provision of Agricultural Consultation Services:

Agricultural consultation is available in many fields, however,specialists in many areas are limited, and it is not cost or timeeffective to engage a specialist consultant to travel to a specificlocation to inspect livestock, plants etc. especially as the symptom mayonly be present temporarily (eg. a cow with the initial signs of adisease will have moved to a secondary stage by the time a consultant isavailable to inspect it.).

For example, the invention can be used for a plant grower in regionalVictoria, Australia to consult with a Calla Lilly specialist in NewZealand about an issue with leaf discolouration in a crop of CallaLillies. The specialist can make a diagnoses and recommend a course ofaction after instructing the grower to show various views of the plant,allowing him/her to gather the appropriate snapshots to display adetailed view of a variety of aspects of the plant. The consultant isthen able to regularly monitor the progress of the crop—from NewZealand.

In a second embodiment of the invention the snapshot functionality couldbe triggered by a user acting directly at the server or camcorder totrigger the snapshot functionality.

The word ‘comprising’ and forms of the word ‘comprising’ as used in thisdescription and in the claims does not limit the invention claimed toexclude any variants or additions. Modifications and improvements to theinvention will be readily apparent to those skilled in the art. Suchmodifications and improvements are intended to be within the scope ofthis invention.

1. A method of providing visual information to a viewer, comprising thesteps of: (a) receiving at a receiver, a stream of video datatransmitted from a video camera; (b) receiving and monitoring the streamat a server connected to the receiver; (c) transmitting the stream fromthe server to one or more remote viewers over a communications network;and (d) transmitting a snapshot image to one or more remote viewers inresponse to the detection of a characteristic in the stream.
 2. A methodaccording to claim 1 wherein the characteristic is a signal indicatingthat a snapshot request has been initiated at the video camera.
 3. Amethod according to claim 2 wherein the initiation is by actuation of abutton on the video camera.
 4. A method according to claim 1 wherein thecharacteristic is an attribute of the visual content of the stream.
 5. Amethod according to claim 4 wherein the attribute is the repletion of asubstantially static image.
 6. A method according to claim 5 wherein thesubstantially static image is detected by comparing a frame to aplurality of other frames in the stream, wherein the substantiallystatic image is detected when the frame is similar to each of the otherframes.
 7. A method according to claim 6 wherein the frame was capturedby the video camera after each of the other frames.
 8. A methodaccording to claim 7 further including the steps of: including the framein the plurality of other frames after it has been compared to theplurality of other frames; and removing a frame from the plurality ofother frames.
 9. A method according to claim 8 wherein the frame removedfrom the plurality of other frames is the earliest frame captured by thevideo camera.
 10. A method according to claim 6 wherein the frame isdetermined to be similar to another frame notwithstanding differencesbetween the frames, where those differences are within a prescribeddifference tolerance.
 11. A method according to claim 6 wherein thesnapshot image transmitted to the viewer is an average frame calculatedfrom the frame and each of the other frames.
 12. A method according toclaim 6 further including the steps of: comparing the frame to the mostrecently transmitted snapshot image; and transmitting a further snapshotimage only when the frame and the most recently transmitted snapshotimage are sufficiently different.
 13. A method according to claim 1further including the step of storing each transmitted snapshot image ata client device of the viewer for retrieval and viewing.
 14. A methodaccording to claim 1 wherein the resolution of the snapshot image ishigher than the resolution of the frames in the stream.
 15. Computerprogram code comprising: (a) instructions for receiving a stream ofvideo data; (b) instructions for transmitting the stream to one or moreremote viewers over a communications network; (c) instructions formonitoring the stream; and (d) instructions for transmitting a snapshotimage to one or more remote viewers in response to the detection of acharacteristic in the stream.
 16. Computer program code according toclaim 15 wherein the characteristic is a signal indicating that asnapshot request has been initiated at the video camera.
 17. Computerprogram code according to claim 16 wherein the initiation is byactivation of a button on the video camera.
 18. Computer program codeaccording to claim 15 wherein the characteristic is an attribute of thevisual content of the stream.
 19. Computer program code according toclaim 18 wherein the attribute is the repletion of a substantiallystatic image.
 20. Computer program code according to claim 19 includinginstructions for detecting the substantially static image by comparing aframe to a plurality of other frames in the stream, wherein thesubstantially static image is detected when the first frame is similarto each of the other frames.
 21. Computer program code according toclaim 20 wherein the frame was captured by the video camera after eachof the other frames.
 22. Computer program code according to claim 21further including: instructions for including the first frame in theplurality of other frames after it has been compared to the plurality ofother frames; and instructions for removing a frame from the pluralityof other frames.
 23. Computer program code according to claim 22 whereinthe frame removed from the plurality of other frames is the earliestframe captured by the video camera.
 24. Computer program code accordingto claim 20 including instructions for determining that the frame issimilar to another frame notwithstanding differences between the frameswhere those differences are within a prescribed difference tolerance.25. Computer program code according to claim 20 including instructionsfor transmitting an average frame calculated from the frame and each ofthe other frames to the viewer as the snapshot image.
 26. Computerprogram code according to claim 15 including instructions for storingeach transmitted snapshot image at a client device of the viewer forretrieval and viewing.
 27. Computer program code according to claim 15including instructions for providing a snapshot image having aresolution higher than the resolution of the frames in the stream.28-87. (canceled)